package First

/**
 * @author 郭帅* @date 2023/9/22 00:58
 */

// 创建一个 Binding
def shareData = new Binding()
// 创建 shell
def shell = new GroovyShell(shareData)
//def now = new Date()
//// 将 text、date 对象传递到 Binding 中
//shareData.setProperty('text', 'i am shared data')
//shareData.setProperty('date', now)
//
//// 执行脚本，通过 $ 符号，在脚本中获取变量值
//String result = shell.evaluate('"At $date,$text"')
//printf result
//// 在脚本中对变量赋值
//shell.evaluate('foo=123')
//// 通过 Binding 获取标量的值
//printf shareData.getProperty('foo') as String


// 执行脚本，通过 $ 符号，在脚本中获取变量值
//String result = shell.evaluate('"At $date,$text"')
//printf result
// 在脚本中对变量赋值
shell.evaluate('def foo=123')
// 通过 Binding 获取标量的值
try {
    printf shareData.getProperty('foo') as String
} catch (MissingPropertyException e) {
    println "foo is defined as a local variable"
}


